package com.yonyou.brigade.third_parties.didi.model;

import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 滴滴开票订单历史
 * </p>
 *
 * @author kangfw5@yonyou.com
 * @since 2019-07-10
 */
@TableName("didi_invoice_order_history")
public class DidiInvoiceOrderHistory extends Model<DidiInvoiceOrderHistory> {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    /**
     * 滴滴发票ID
     */
    @TableField("invoice_id")
    private String invoiceId;
    /**
     * 订单ID
     */
    @TableField("order_id")
    private String orderId;
    /**
     * 城市ID
     */
    private String city;
    /**
     * 城市名
     */
    @TableField("city_name")
    private String cityName;
    /**
     * 出发地地址
     */
    @TableField("start_name")
    private String startName;
    /**
     * 目的地地址
     */
    @TableField("end_name")
    private String endName;
    /**
     * 乘车人手机号
     */
    @TableField("passenger_phone")
    private String passengerPhone;
    /**
     * 叫车人手机号
     */
    @TableField("call_phone")
    private String callPhone;
    /**
     * 叫单时间
     */
    @TableField("create_time")
    private Date createTime;
    /**
     * 用车方式（1:出租车，2:专车，3:快车，4:代驾，5:豪华车）
     */
    @TableField("use_car_type")
    private Integer useCarType;
    /**
     * 支付方式（0企业支付 1个人垫付 2混合支付）
     */
    @TableField("pay_type")
    private Integer payType;
    /**
     * 总金额
     */
    @TableField("total_price")
    private BigDecimal totalPrice;
    /**
     * 实付金额（总金额-券抵扣金额）
     */
    @TableField("actual_price")
    private BigDecimal actualPrice;
    /**
     * 退款金额
     */
    @TableField("refund_price")
    private BigDecimal refundPrice;
    /**
     * 个人支付金额
     */
    @TableField("personal_pay")
    private BigDecimal personalPay;
    /**
     * 个人实付金额
     */
    @TableField("personal_real_pay")
    private BigDecimal personalRealPay;
    /**
     * 公司支付金额
     */
    @TableField("company_pay")
    private BigDecimal companyPay;
    /**
     * 公司实付金额
     */
    @TableField("company_real_pay")
    private BigDecimal companyRealPay;
    /**
     * 车型（100舒适型，400六座商务, 200行政级,600普通快车,900优享快车）
     */
    @TableField("require_level")
    private String requireLevel;
    /**
     * 租户ID
     */
    private String tenant;
    /**
     * 组织信息
     */
    private String org;
    /**
     * 用户ID
     */
    @TableField("user_id")
    private String userId;
    private Date ts;


    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getInvoiceId() {
        return invoiceId;
    }

    public void setInvoiceId(String invoiceId) {
        this.invoiceId = invoiceId;
    }

    public String getOrderId() {
        return orderId;
    }

    public void setOrderId(String orderId) {
        this.orderId = orderId;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public String getCityName() {
        return cityName;
    }

    public void setCityName(String cityName) {
        this.cityName = cityName;
    }

    public String getStartName() {
        return startName;
    }

    public void setStartName(String startName) {
        this.startName = startName;
    }

    public String getEndName() {
        return endName;
    }

    public void setEndName(String endName) {
        this.endName = endName;
    }

    public String getPassengerPhone() {
        return passengerPhone;
    }

    public void setPassengerPhone(String passengerPhone) {
        this.passengerPhone = passengerPhone;
    }

    public String getCallPhone() {
        return callPhone;
    }

    public void setCallPhone(String callPhone) {
        this.callPhone = callPhone;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Integer getUseCarType() {
        return useCarType;
    }

    public void setUseCarType(Integer useCarType) {
        this.useCarType = useCarType;
    }

    public Integer getPayType() {
        return payType;
    }

    public void setPayType(Integer payType) {
        this.payType = payType;
    }

    public BigDecimal getTotalPrice() {
        return totalPrice;
    }

    public void setTotalPrice(BigDecimal totalPrice) {
        this.totalPrice = totalPrice;
    }

    public BigDecimal getActualPrice() {
        return actualPrice;
    }

    public void setActualPrice(BigDecimal actualPrice) {
        this.actualPrice = actualPrice;
    }

    public BigDecimal getRefundPrice() {
        return refundPrice;
    }

    public void setRefundPrice(BigDecimal refundPrice) {
        this.refundPrice = refundPrice;
    }

    public BigDecimal getPersonalPay() {
        return personalPay;
    }

    public void setPersonalPay(BigDecimal personalPay) {
        this.personalPay = personalPay;
    }

    public BigDecimal getPersonalRealPay() {
        return personalRealPay;
    }

    public void setPersonalRealPay(BigDecimal personalRealPay) {
        this.personalRealPay = personalRealPay;
    }

    public BigDecimal getCompanyPay() {
        return companyPay;
    }

    public void setCompanyPay(BigDecimal companyPay) {
        this.companyPay = companyPay;
    }

    public BigDecimal getCompanyRealPay() {
        return companyRealPay;
    }

    public void setCompanyRealPay(BigDecimal companyRealPay) {
        this.companyRealPay = companyRealPay;
    }

    public String getRequireLevel() {
        return requireLevel;
    }

    public void setRequireLevel(String requireLevel) {
        this.requireLevel = requireLevel;
    }

    public String getTenant() {
        return tenant;
    }

    public void setTenant(String tenant) {
        this.tenant = tenant;
    }

    public String getOrg() {
        return org;
    }

    public void setOrg(String org) {
        this.org = org;
    }

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public Date getTs() {
        return ts;
    }

    public void setTs(Date ts) {
        this.ts = ts;
    }

    public static final String ID = "id";

    public static final String INVOICE_ID = "invoice_id";

    public static final String ORDER_ID = "order_id";

    public static final String CITY = "city";

    public static final String CITY_NAME = "city_name";

    public static final String START_NAME = "start_name";

    public static final String END_NAME = "end_name";

    public static final String PASSENGER_PHONE = "passenger_phone";

    public static final String CALL_PHONE = "call_phone";

    public static final String CREATE_TIME = "create_time";

    public static final String USE_CAR_TYPE = "use_car_type";

    public static final String PAY_TYPE = "pay_type";

    public static final String TOTAL_PRICE = "total_price";

    public static final String ACTUAL_PRICE = "actual_price";

    public static final String REFUND_PRICE = "refund_price";

    public static final String PERSONAL_PAY = "personal_pay";

    public static final String PERSONAL_REAL_PAY = "personal_real_pay";

    public static final String COMPANY_PAY = "company_pay";

    public static final String COMPANY_REAL_PAY = "company_real_pay";

    public static final String REQUIRE_LEVEL = "require_level";

    public static final String TENANT = "tenant";

    public static final String ORG = "org";

    public static final String USER_ID = "user_id";

    public static final String TS = "ts";

    @Override
    protected Serializable pkVal() {
        return this.id;
    }

    @Override
    public String toString() {
        return "DidiInvoiceOrderHistory{" +
                "id=" + id +
                ", invoiceId=" + invoiceId +
                ", orderId=" + orderId +
                ", city=" + city +
                ", cityName=" + cityName +
                ", startName=" + startName +
                ", endName=" + endName +
                ", passengerPhone=" + passengerPhone +
                ", callPhone=" + callPhone +
                ", createTime=" + createTime +
                ", useCarType=" + useCarType +
                ", payType=" + payType +
                ", totalPrice=" + totalPrice +
                ", actualPrice=" + actualPrice +
                ", refundPrice=" + refundPrice +
                ", personalPay=" + personalPay +
                ", personalRealPay=" + personalRealPay +
                ", companyPay=" + companyPay +
                ", companyRealPay=" + companyRealPay +
                ", requireLevel=" + requireLevel +
                ", tenant=" + tenant +
                ", org=" + org +
                ", userId=" + userId +
                ", ts=" + ts +
                "}";
    }
}
